
interface IFnCall<RootState> {
    <TWhy>(fn:(state:RootState)=>TWhy,age:number) : TWhy
}

const user:IFnCall<number> = (fn,age) =>{
    return fn(30)
}
const user1:IFnCall<string> = (fn,age) =>{
    return fn("Qilin")
}

// user<number>(()=>{
//     return 30
// },30);
// user<string>(()=>{
//     return "Qilin"
// },30);

user(()=>{
    return 30
},30);
user(()=>{
    return "Qilin"
},30);
